# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/23 11:29 
@Author  : ZhangShenao 
@File    : 2.使用Markdown文档加载器.py 
@Desc    : 使用UnstructuredMarkdownLoader,加载Markdown文件

unstructured包是一款开源非结构化数据的预处理工具
它旨在简化和优化结构化和非结构化文档的预处理
并且内置了用于读取和预处理图像和文本文档(如 PDF、HTML、Word 文档等)的开源组件
绝大部分加载器都基于unstructured包进行开发+封装

通常在加载文档时,很少进行分割操作
大多数情况下,都是将全部文档加载完成后,使用用于的分割器进行分割
"""
from langchain_community.document_loaders import UnstructuredMarkdownLoader

# 创建UnstructuredMarkdownLoader
loader = UnstructuredMarkdownLoader(
    file_path='./docs/项目API资料.md',  # 指定文件路径
    mode='elements',  # 指定加载模式 elements模式会按照文档元素进行分割,在RAG中通常使用single模式
)

# 加载文档,生成Document列表
docs = loader.load()
print(f'length of docs is {len(docs)}')

for doc in docs[:2]:
    print(f'doc.page_content: {doc.page_content}')
    print(f'doc.metadata: {doc.metadata}')
